﻿#ifndef NSA3000TZT_H
#define NSA3000TZT_H


/*
DLL: 智能告警和智能操作票通用显示
*/


#include <QtCore/qglobal.h>

#if defined(NSA3000TZT_LIBRARY)
#  define NSA3000TZTSHARED_EXPORT Q_DECL_EXPORT
#else
#  define NSA3000TZTSHARED_EXPORT Q_DECL_IMPORT
#endif


QT_BEGIN_NAMESPACE
class QWidget;
class QString;
QT_END_NAMESPACE


class NSA3000TZTSHARED_EXPORT Graph_ZnTicketer
{
public:
	virtual ~Graph_ZnTicketer() { /* nothing */ }

	/*  函数:   quit_ticket
	用途:   通知画面退出智能操作票
	输入:
	返回:
	*/
	virtual bool quit_ticket() = 0;

	/*  函数:   Call_seq_ticket
	用途:   通知画面调用操作票（从未审核票库），两种调用方式（典型票有画面中转通知五防模块调用，顺控票由画面顺控模块直接调用）
	输入:ticket_type（ZN_TICKET_TYPE_CZP/ZN_TICKET_TYPE_SEQ）
	返回:
	*/
	virtual void Call_zn_ticket(int ticket_type,QString sticketName) = 0;

};
#define SHOW_TYPE_ZNGJ    1
#define SHOW_TYPE_TICKET  2

#define  ZNGJ_FILE_TYPE_SIMPLE_REPORT      1
#define  ZNGJ_FILE_TYPE_FAULT_HDR_REPORT   2

class NSA3000TZTSHARED_EXPORT NSA3000TZT
{
public:
    NSA3000TZT();

	QWidget* m_pdlg;

	/*
    输入：show_type     [SHOW_TYPE_ZNGJ(智能告警报告显示)/SHOW_TYPE_TICKET(智能操作票显示)]
          pGraphHelper  智能操作票回调用
	*/
	int  init_zt_dll(int show_type=0,Graph_ZnTicketer *pGraphHelper=NULL);
	void show_seq_dlg();


	/*
	输入：simple_or_hdr     [ZNGJ_FILE_TYPE_SIMPLE_REPORT(显示告警简报)/ZNGJ_FILE_TYPE_FAULT_HDR_REPORT(显示故障分析报告)]
	soe_time  SOE时间
	soe_Msel  SOE毫秒
	*/
	void show_zngj_dlg(int simple_or_hdr,int soe_time,int soe_Msel);


	
	void fini_zt_dll();
};

#endif // NSA3000TZT_H
